package com.dys.arithmeticoperator;

/**
 * @className: com.dys.arithmeticoperator.BitwiseOperator
 * @description: 位运算符：&、|、^、~、>>、<<、>>>
 * @author: pine cone
 * @version: v1.0.0
 * @createTime: 2024/06/17 下午8:53
 */
public class BitwiseOperator {

    public static void main(String[] args) {
        testBitwiseOperator();
    }

    /**
     * 区分逻辑运算符：1.逻辑运算符左右两边的操作数是布尔类型，而位运算符可以是int类型
     * <<：左移：左移一位相当于乘以2 3<<2 == 12
     * 面试题：4乘以8最快的方式：4<<3
     * 有符合右移：>>  6>>2 == 1  -6>>2 == -2 取反+1
     * 无符号右移：>>> 6>>>2 == 1
     * 按位与（&）、按位或（|）、按位异或（^）和按位取反（~）是常用的位运算符。需要注意的是，位运算符只适用于整数类型的数据。
     */
    public static void testBitwiseOperator() {

        System.out.println(5 & 6);
    }

    public static void priority() {
        System.out.println(5 < 6 | 'A' > 'a' && 12 * 6 <= 45 + 23 && !true);
    }
}
